package com.sjd.farm.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sjd.common.annotation.Excel;
import com.sjd.common.core.domain.BaseEntity;
import lombok.*;

import java.time.LocalDateTime;

/**
 * 农场土地认领订单对象 sjd_farm_land_claim_order
 *
 * @author joker
 * @date 2022-01-26
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class SjdFarmLandClaimOrder extends BaseEntity {
    private static final long serialVersionUID = 1L;
    @Excel(name = "订单号")
    private Long id;
    @Excel(name = "土地主键")
    private Long landId;
    @Excel(name = "土地编号")
    private String landNo;
    @Excel(name = "土地名称")
    private String landName;
    @Excel(name = "认领会员编号")
    private Long memberId;
    @Excel(name = "认领会员昵称")
    private String nickName;
    @Excel(name = "认领会员手机号")
    private String phone;
    /**
     * 认领状态：NORMAL-正常 OVERDUE-过期
     */
    @Excel(name = "认领状态", dictType = "farm_land_claim_order_status")
    private String orderStatus;
    /**
     * 土地等级：0，1，2，3，4，5，6，7
     */
    @Excel(name = "土地等级")
    private Integer landLevel;

    /**
     * 认领land_id对应土地消费金豆数量
     */
    @Excel(name = "认领土地消费金豆数量")
    private Integer consumeAmount;

    /**
     * 土地使用开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "土地使用开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime useStartTime;

    /**
     * 土地使用结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "土地使用结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime useEndTime;

    /**
     * 土地续约次数：0，1，2，3，4，5，6，7
     */
    private Integer landRenewalCount;
    /**
     * 土地升级所需积分
     */
    private Integer upgradeNeedIntegral;
    /**
     * 土地图片
     */
    private String landImg;

    public interface Param{
        String NORMAL = "NORMAL";
        String OVERDUE = "OVERDUE";
    }
}
